package com.zxx.casserver.modules.role.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zxx.casserver.modules.role.entity.RoleDO;
import com.zxx.casserver.modules.role.entity.RoleVO;

/**
 * 角色管理-服务类
 *
 * @author zhoukai
 * @since 2020-06-30
 */
public interface IRoleService extends IService<RoleDO> {

    /**
     * 根据传入的角色条件，查询角色信息
     *
     * @param roleVO 请求参数实体
     * @return 返回符合要求的角色信息
     * @author zhoukai
     * @date 2020/7/30 17:41
     */
    IPage<RoleDO> listRole(RoleVO roleVO);

    /**
     * 根据传入的角色信息，进行保存
     *
     * @param roleVO 请求参数实体
     * @return 返回保存的角色信息
     * @author zhoukai
     * @date 2020/7/30 17:49
     */
    RoleDO saveRole(RoleVO roleVO);

    /**
     * 根据传入的角色信息，进行更新
     *
     * @param roleVO 请求参数实体
     * @return 返回更新的角色信息
     * @author zhoukai
     * @date 2020/7/30 17:49
     */
    RoleDO updateRole(RoleVO roleVO);

    /**
     * 根据传入的角色ID，进行删除
     *
     * @param roleVO 请求参数实体
     * @return 返回删除的对象信息
     * @author zhoukai
     * @date 2020/7/30 17:51
     */
    RoleDO removeRole(RoleVO roleVO);

    /**
     * 根据查询的用户角色，获取角色信息
     *
     * @param roleVO
     * @return 返回
     */
    RoleVO getRole(RoleVO roleVO);
}
